#Область ПрограммныйИнтерфейс
	
Процедура УстановитьПараметрыВыбораЭлемента(Элемент, Знач СвязиПараметровВыбора = Неопределено, Знач ПараметрыВыбора = Неопределено) Экспорт
	ПустойМассив = Новый ФиксированныйМассив(Новый Массив);
	СвязиПараметровВыбора = ?(СвязиПараметровВыбора = Неопределено, ПустойМассив, Новый ФиксированныйМассив(СвязиПараметровВыбора));
	ПараметрыВыбора = ?(ПараметрыВыбора = Неопределено, ПустойМассив, Новый ФиксированныйМассив(ПараметрыВыбора));
	Элемент.СвязиПараметровВыбора = СвязиПараметровВыбора;
	Элемент.ПараметрыВыбора = ПараметрыВыбора;
КонецПроцедуры

Процедура ПрименитьНастройкиПараметровВыбора(Форма, НастройкиПараметровВыбораЭлементов) Экспорт
	Для Каждого НастройкаПараметровВыбора Из НастройкиПараметровВыбораЭлементов Цикл
		Элемент = Форма.Элементы[НастройкаПараметровВыбора.ИмяЭлемента];
		УстановитьПараметрыВыбораЭлемента(Элемент, НастройкаПараметровВыбора.СвязиПараметровВыбора, НастройкаПараметровВыбора.ПараметрыВыбора);	
	КонецЦикла;
КонецПроцедуры

Процедура НастроитьПараметрыВыбора(МодельОбъекта) Экспорт
	Для Каждого ЭлементКоллекции Из МодельОбъекта.ЭлементыФормы Цикл
		ЭлементФормы = ЭлементКоллекции.Значение;
		Если ЭлементФормы.Имя = "ЭтаФорма" Тогда
			Продолжить;
		КонецЕсли;
		Элемент = МодельОбъекта.Контекст.Элементы.Найти(ЭлементФормы.Имя);
		Если Элемент = Неопределено ИЛИ НЕ ТипЗнч(Элемент) = Тип("ПолеФормы") ИЛИ НЕ Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
			Продолжить;
		КонецЕсли;
		//Если НЕ ЗначениеЗаполнено(ЭлементКоллекции.Значение.Параметр.Тип) Тогда
		//	Продолжить;
		//КонецЕсли;
		НастройкаПараметровВыбора = РаботаСМодельюФормыКлиентСервер.НастройкаПараметровВыбораЭлемента(МодельОбъекта, ЭлементФормы);
		УстановитьПараметрыВыбораЭлемента(Элемент, НастройкаПараметровВыбора.СвязиПараметровВыбора, НастройкаПараметровВыбора.ПараметрыВыбора);
	КонецЦикла;
КонецПроцедуры

Процедура ПриЧтенииВМоделиФормыНаСервере(Форма, ТекущийОбъект) Экспорт
	Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "ЗначенияПараметров") Тогда
		МодельОбъекта = РаботаСМодельюОбъектаКлиентСервер.ПолучитьМодель(Форма);
		//@skip-check server-execution-safe-mode
		Выполнить(СтрШаблон("%1.ИнициализироватьДанные(МодельОбъекта)", МодельОбъекта.Модуль));
		РаботаСМодельюОбъектаКлиентСервер.РассчитатьПараметрыКонтекста(МодельОбъекта);
		НастроитьПараметрыВыбора(МодельОбъекта);
		РаботаСМодельюФормыКлиентСервер.ОбновитьФорму(Форма);
	КонецЕсли;
КонецПроцедуры

#КонецОбласти
